Git source pull crashes if git not installed
Metadata
Current evaluation
No evaluation has been recorded for this issue yet.
Issue body
If a part uses a git source and git is not installed on the system, FileNotFoundError is raised. This situation should be handled in a more graceful way.
Steps to reproduce: remove (or rename) the git executable from the system, and build a snap with a part that uses `source-type: git`.
```
Pulling gotty
Sorry, an error occurred in Snapcraft:
Traceback (most recent call last):
(...)
File "/home/claudio/snapcraft/cmatsuoka/snapcraft/internal/pluginhandler/__init__.py", line 460, in _do_pull
self.source_handler.pull()
File "/home/claudio/snapcraft/cmatsuoka/snapcraft/internal/sources/_git.py", line 184, in pull
self._clone_new()
File "/home/claudio/snapcraft/cmatsuoka/snapcraft/internal/sources/_git.py", line 172, in _clone_new
self._run(command + [self.source, self.source_dir], **self._call_kwargs)
File "/home/claudio/snapcraft/cmatsuoka/snapcraft/internal/sources/_base.py", line 87, in _run
subprocess.check_call(command, **kwargs)
File "/usr/lib/python3.6/subprocess.py", line 286, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib/python3.6/subprocess.py", line 267, in call
with Popen(*popenargs, **kwargs) as p:
File "/usr/lib/python3.6/subprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.6/subprocess.py", line 1344, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'git': 'git'
```
Evaluation history
No evaluation history available.